package com.netposa.datawarehouse.aggregator.web.vo;

import com.netposa.datawarehouse.aggregator.web.model.SearchDataType;
import java.util.ArrayList;
import java.util.List;

public class DetectedResult {
   private String sessionKey;
   private String imgPath;
   private String feature;
   private List detectResultMap = new ArrayList();

   public String getSessionKey() {
      return this.sessionKey;
   }

   public String getImgPath() {
      return this.imgPath;
   }

   public String getFeature() {
      return this.feature;
   }

   public List getDetectResultMap() {
      return this.detectResultMap;
   }

   public void setSessionKey(String sessionKey) {
      this.sessionKey = sessionKey;
   }

   public void setImgPath(String imgPath) {
      this.imgPath = imgPath;
   }

   public void setFeature(String feature) {
      this.feature = feature;
   }

   public void setDetectResultMap(List detectResultMap) {
      this.detectResultMap = detectResultMap;
   }

   public boolean equals(Object o) {
      if (o == this) {
         return true;
      } else if (!(o instanceof DetectedResult)) {
         return false;
      } else {
         DetectedResult other = (DetectedResult)o;
         if (!other.canEqual(this)) {
            return false;
         } else {
            label59: {
               Object this$sessionKey = this.getSessionKey();
               Object other$sessionKey = other.getSessionKey();
               if (this$sessionKey == null) {
                  if (other$sessionKey == null) {
                     break label59;
                  }
               } else if (this$sessionKey.equals(other$sessionKey)) {
                  break label59;
               }

               return false;
            }

            Object this$imgPath = this.getImgPath();
            Object other$imgPath = other.getImgPath();
            if (this$imgPath == null) {
               if (other$imgPath != null) {
                  return false;
               }
            } else if (!this$imgPath.equals(other$imgPath)) {
               return false;
            }

            Object this$feature = this.getFeature();
            Object other$feature = other.getFeature();
            if (this$feature == null) {
               if (other$feature != null) {
                  return false;
               }
            } else if (!this$feature.equals(other$feature)) {
               return false;
            }

            Object this$detectResultMap = this.getDetectResultMap();
            Object other$detectResultMap = other.getDetectResultMap();
            if (this$detectResultMap == null) {
               if (other$detectResultMap != null) {
                  return false;
               }
            } else if (!this$detectResultMap.equals(other$detectResultMap)) {
               return false;
            }

            return true;
         }
      }
   }

   protected boolean canEqual(Object other) {
      return other instanceof DetectedResult;
   }

   public int hashCode() {
      
      int result = 1;
      Object $sessionKey = this.getSessionKey();
      result = result * 59 + ($sessionKey == null ? 43 : $sessionKey.hashCode());
      Object $imgPath = this.getImgPath();
      result = result * 59 + ($imgPath == null ? 43 : $imgPath.hashCode());
      Object $feature = this.getFeature();
      result = result * 59 + ($feature == null ? 43 : $feature.hashCode());
      Object $detectResultMap = this.getDetectResultMap();
      result = result * 59 + ($detectResultMap == null ? 43 : $detectResultMap.hashCode());
      return result;
   }

   public String toString() {
      return "DetectedResult(sessionKey=" + this.getSessionKey() + ", imgPath=" + this.getImgPath() + ", feature=" + this.getFeature() + ", detectResultMap=" + this.getDetectResultMap() + ")";
   }

   public static class DetectInfo {
      private String dataKey;
      private SearchDataType dataType;
      private String position;

      public String getDataKey() {
         return this.dataKey;
      }

      public SearchDataType getDataType() {
         return this.dataType;
      }

      public String getPosition() {
         return this.position;
      }

      public void setDataKey(String dataKey) {
         this.dataKey = dataKey;
      }

      public void setDataType(SearchDataType dataType) {
         this.dataType = dataType;
      }

      public void setPosition(String position) {
         this.position = position;
      }

      public boolean equals(Object o) {
         if (o == this) {
            return true;
         } else if (!(o instanceof DetectInfo)) {
            return false;
         } else {
            DetectInfo other = (DetectInfo)o;
            if (!other.canEqual(this)) {
               return false;
            } else {
               label47: {
                  Object this$dataKey = this.getDataKey();
                  Object other$dataKey = other.getDataKey();
                  if (this$dataKey == null) {
                     if (other$dataKey == null) {
                        break label47;
                     }
                  } else if (this$dataKey.equals(other$dataKey)) {
                     break label47;
                  }

                  return false;
               }

               Object this$dataType = this.getDataType();
               Object other$dataType = other.getDataType();
               if (this$dataType == null) {
                  if (other$dataType != null) {
                     return false;
                  }
               } else if (!this$dataType.equals(other$dataType)) {
                  return false;
               }

               Object this$position = this.getPosition();
               Object other$position = other.getPosition();
               if (this$position == null) {
                  if (other$position != null) {
                     return false;
                  }
               } else if (!this$position.equals(other$position)) {
                  return false;
               }

               return true;
            }
         }
      }

      protected boolean canEqual(Object other) {
         return other instanceof DetectInfo;
      }

      public int hashCode() {
         
         int result = 1;
         Object $dataKey = this.getDataKey();
         result = result * 59 + ($dataKey == null ? 43 : $dataKey.hashCode());
         Object $dataType = this.getDataType();
         result = result * 59 + ($dataType == null ? 43 : $dataType.hashCode());
         Object $position = this.getPosition();
         result = result * 59 + ($position == null ? 43 : $position.hashCode());
         return result;
      }

      public String toString() {
         return "DetectedResult.DetectInfo(dataKey=" + this.getDataKey() + ", dataType=" + this.getDataType() + ", position=" + this.getPosition() + ")";
      }
   }
}
